30 research outputs found
Understanding the complexity of #SAT using knowledge compilation
Two main techniques have been used so far to solve the #P-hard problem #SAT.
The first one, used in practice, is based on an extension of DPLL for model
counting called exhaustive DPLL. The second approach, more theoretical,
exploits the structure of the input to compute the number of satisfying
assignments by usually using a dynamic programming scheme on a decomposition of
the formula. In this paper, we make a first step toward the separation of these
two techniques by exhibiting a family of formulas that can be solved in
polynomial time with the first technique but needs an exponential time with the
second one. We show this by observing that both techniques implicitely
construct a very specific boolean circuit equivalent to the input formula. We
then show that every beta-acyclic formula can be represented by a polynomial
size circuit corresponding to the first method and exhibit a family of
beta-acyclic formulas which cannot be represented by polynomial size circuits
corresponding to the second method. This result shed a new light on the
complexity of #SAT and related problems on beta-acyclic formulas. As a
byproduct, we give new handy tools to design algorithms on beta-acyclic
hypergraphs
Direct Access for Conjunctive Queries with Negation
Given a conjunctive query and a database , a direct access to
the answers of over is the operation of returning, given an
index , the answer for some order on its answers. While
this problem is -hard in general with respect to combined
complexity, many conjunctive queries have an underlying structure that allows
for a direct access to their answers for some lexicographical ordering that
takes polylogarithmic time in the size of the database after a polynomial time
precomputation. Previous work has precisely characterised the tractable classes
and given fine-grained lower bounds on the precomputation time needed depending
on the structure of the query.
In this paper, we generalise these tractability results to the case of signed
conjunctive queries, that is, conjunctive queries that may contain negative
atoms. Our technique is based on a class of circuits that can represent
relational data. We first show that this class supports tractable direct access
after a polynomial time preprocessing. We then give bounds on the size of the
circuit needed to represent the answer set of signed conjunctive queries
depending on their structure. Both results combined together allow us to prove
the tractability of direct access for a large class of conjunctive queries. On
the one hand, we recover the known tractable classes from the literature in the
case of positive conjunctive queries. On the other hand, we generalise and
unify known tractability results about negative conjunctive queries -- that is,
queries having only negated atoms. In particular, we show that the class of
-acyclic negative conjunctive queries and the class of bounded nest set
width negative conjunctive queries admit tractable direct access
Understanding model counting for -acyclic CNF-formulas
We extend the knowledge about so-called structural restrictions of
by giving a polynomial time algorithm for -acyclic
. In contrast to previous algorithms in the area, our algorithm
does not proceed by dynamic programming but works along an elimination order,
solving a weighted version of constraint satisfaction. Moreover, we give
evidence that this deviation from more standard algorithm is not a coincidence,
but that there is likely no dynamic programming algorithm of the usual style
for -acyclic
Linear Programs with Conjunctive Database Queries
In this paper, we study the problem of optimizing a linear program whose
variables are the answers to a conjunctive query. For this we propose the
language LP(CQ) for specifying linear programs whose constraints and objective
functions depend on the answer sets of conjunctive queries. We contribute an
efficient algorithm for solving programs in a fragment of LP(CQ). The natural
approach constructs a linear program having as many variables as there are
elements in the answer set of the queries. Our approach constructs a linear
program having the same optimal value but fewer variables. This is done by
exploiting the structure of the conjunctive queries using generalized hypertree
decompositions of small width to factorize elements of the answer set together.
We illustrate the various applications of LP(CQ) programs on three examples:
optimizing deliveries of resources, minimizing noise for differential privacy,
and computing the s-measure of patterns in graphs as needed for data mining
Linear Programs with Conjunctive Queries
In this paper, we study the problem of optimizing a linear program whose variables are the answers to a conjunctive query. For this we propose the language LP(CQ) for specifying linear programs whose constraints and objective functions depend on the answer sets of conjunctive queries. We contribute an efficient algorithm for solving programs in a fragment of LP(CQ). The naive approach constructs a linear program having as many variables as there are elements in the answer set of the queries. Our approach constructs a linear program having the same optimal value but fewer variables. This is done by exploiting the structure of the conjunctive queries using generalized hypertree decompositions of small width to factorize elements of the answer set together. We illustrate the various applications of LP(CQ) programs on three examples: optimizing deliveries of resources, minimizing noise for differential privacy, and computing the s-measure of patterns in graphs as needed for data mining